package com.rao.springbootschoolshop.annotion;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 实体检验自定义注解类，根据我们自定义的注解去检验实体各个字段是否在规定的值内
 */
@Target(ElementType.FIELD) //注解在字段上面
@Retention(RetentionPolicy.RUNTIME)//整个运行时都是有效的

public @interface ValidateEntity {

    public boolean required() default  false; //是否检验，默认不需要验证

    public boolean requiredLength() default  false; //是否检验长度

    public boolean requiredMaxValue() default false; //是否验证最大值

    public boolean requiredMinValue() default false; //是否检验最小值

    public int maxLength() default -1; //字符串最大长度

    public int minLength() default -1; //字符串最小长度

    public long minValue() default -1; //值的最小值

    public long maxValue() default -99999; //值的最大值

    public String errorRequiredMsg() default ""; //值为null时的错误提示信息

    public String errorMinLengthMsg() default ""; //最小长度不满足时的提示信息

    public String errorMaxLengthMsg() default ""; //自大长度不满足时的提示信息

    public String errorMinValueMsg() default ""; //最小值不满足的提示信息

    public String errorMaxValueMsg() default ""; //最大值不满足的提示信息；

}
